# source.decorators

- **类型：**

```ts
type Decorators = {
  version?: 'legacy' | '2022-03';
};
```

用于配置装饰器语法。

## decorators.version

- **类型：** `'legacy' | '2022-03'`
- **默认值：** `'2022-03'`

指定需要使用的装饰器语法版本。

### 2022-03

`2022-03` 对应装饰器 Stage 3 提案，等价于 TypeScript 5.0 默认支持的装饰器语法。

```ts title="rsbuild.config.ts"
export default {
  source: {
    decorators: {
      version: '2022-03',
    },
  },
};
```

参考文档：

- [JavaScript meta programming with the 2022-03 decorators API](https://2ality.com/2022/10/javascript-decorators.html)
- [TypeScript 5.0 Decorators](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#decorators)

### legacy

等价于 TypeScript 的 `experimentalDecorators: true`。

```ts title="rsbuild.config.ts"
export default {
  source: {
    decorators: {
      version: 'legacy',
    },
  },
};
```

参考文档：

- [A Complete Guide to TypeScript Decorators](https://mirone.me/a-complete-guide-to-typescript-decorator/)
- [TypeScript Decorators](https://www.typescriptlang.org/docs/handbook/decorators.html)
